package com.shujia.wyh.day04.homework;

/*
    数组A：1，7，9，11，13，15，17，19；数组b：2，4，6，8，10   两个数组合并为数组c，按升序排列。
    分析：
        1、求出A和B数组的长度和
        2、创建新数组
        3、遍历数组以此向新数组中添加，额外创建索引变量控制新数组的元素变化
 */
public class Test5 {
    public static void main(String[] args) {
        //数组A
        int[] arr = {1, 7, 9, 11, 13, 15, 17, 19};
        //数组B
        int[] arr2 = {2, 4, 6, 8, 10};

        //计算新数组的长度
        int newLength = arr.length + arr2.length;

        //创建新数组
        int[] newArr = new int[newLength];
        //创建索引变量
        int index = 0;

        for(int i=0;i<arr.length;i++){
            newArr[index]=arr[i];
            index++;
        }

        for(int i=0;i<arr2.length;i++){
            newArr[index]=arr2[i];
            index++;
        }

        newArr = BubblingSort(newArr);
        System.out.println("合并并排序后的数组：");
        printArray(newArr);




    }

    /**
     * 返回值类型：int[]
     * 参数列表：int[] array
     */
    public static int[] BubblingSort(int[] array) {
        for (int i = 0; i < array.length - 1; i++) { //外层for循环控制的是轮次
//            System.out.println("=============当前是第"+(i+1)+"次排序=============");
            for (int j = 0; j < array.length - i - 1; j++) { //内层for循环进行相邻的两两比较交换
                if (array[j] > array[j + 1]) {
                    //交换
                    int tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                }
            }
//            printArray(array);
        }
        System.out.println("===================================");

        return array;
    }

    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
            if (i == 0) {
                System.out.print("[" + arr[i] + ",");
            } else if (i == arr.length - 1) {
                System.out.println(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }
    }
}
